/////////////////////////////////////////////////////////////////////////
///@file  HTFTSTraderAPIInternalStruct.h
///@brief 定义极速柜台交易API接口使用的业务数据结构，本文件中结构体通过对后台结构体进行内存拷贝赋值，提升交易系统响应速度
///@author
///@date
/////////////////////////////////////////////////////////////////////////

#pragma once

namespace HTFTS
{
    /// 资金推送结构体
    struct FundField
    {
        char        sCustNo[11];                    ///< 客户号
        char        sBranchCode[4];                 ///< 营业部代码
        char        curr_type;                      ///< 货币代码 '1'-人民币 '2'-美元 '3'-港币
        double      dSecCurrCap;                    ///< 账户余额
        double      dSecUseful;                     ///< 证券可用资金
        double      dSecTakeout;                    ///< 证券可取资金
        double      dHKUseful;                      ///< 港股可用资金
        double      dRealProfit;                    ///< 实现盈亏
        double      dBuyFrozenAmt;                  ///< 买入冻结
        double      dDealFrozCap;                   ///< 未成交的委托冻结金额
        double      dRealBuyAmt;                    ///< 买入成交
        double      dSellDoneAmt;                   ///< 卖出解冻
        double      dForbidAsset;                   ///< 禁取资产
        double      dThisBal;                       ///< 昨日余额
        double      dAbnormalFrznAmt;               ///< 异常冻结
        double      dManualUnfrznAmt;               ///< 手动解冻证券资金
        double      dOutCap;                        ///< 当日划出资金
        double      dInCap;                         ///< 当日划入资金
        double      dCashAmt;                       ///< 现金金额
        double      dCheckAmt;                      ///< 支，汇票金额
        double      dManualFrznAmt;                 ///< 手工冻结金额
        double      dUncomeBuyAmt;                  ///< 买入未过户金额
        double      dUncomeSellAmt;                 ///< 卖出未过户金额
        double      dUncomeAmendAmt;                ///< 未交收修正金额
        double      dInterestAccu;                  ///< 利息积数
        double      dFineAccu;                      ///< 罚息积数
        double      dLoanAccu;                      ///< 贷款利息积数
        double      dCredit;                        ///< 信用额
        double      dCreditEndDate;                 ///< 信用额到期日
        double      dForbidAmt;                     ///< 禁用资金
        double      dForbidWithdrawAmt;             ///< DVP禁取资金
        double      dInterest;                      ///< 利息
        double      dFine;                          ///< 罚息
        double      dLoanAmt;                       ///< 贷款金额
        double      dLoanInterest;                  ///< 贷款利息
        double      dTotalAsset;                    ///< 总市值
        double      dEvaluateAsset;                 ///< 参考市值
        double      dMortgageAmt;                   ///< 质押金额
        double      dFalseBail;                     ///< 虚增保证金
        double      dSpare1;                        ///< 备用1
        double      dSpare2;                        ///< 备用2
        double      dCbntInterest;                  ///< 分段利息
        double      dCbntFine;                      ///< 表外罚息
        double      dCbntInterAccu;                 ///< 已结转利息基数
        double      dCrdtSellFrznAmt;               ///< 融券卖出冻结金额
        double      dCrdtSellBuyEnAmt;              ///< 融券买入委托总占用金额
        double      dCrdtSellBuyDoneAmt;            ///< 融券买入成交总占用金额
        double      dCrdtSellBuyPaybkAmt;           ///< 融券买入已归还总金额
        double      dCrdtSellBuyIneffective;        ///< 融券买入效占用金额
        double      dAmendAmt;                      ///< 市值修正金额
        double      dT0FrozenAmt;                   ///< T+0交收应付冻结
        double      dT0UnfrozenAmt;                 ///< T+0准担保交收应收解冻
        double      dT0ClearBuyAmt;                 ///< T日交收买入金额
        double      dT0ClearSellAmt;                ///< T日交收卖出金额
        double      dT1ClearBuyAmt;                 ///< T+1日交收买入金额
        double      dT1ClearSellAmt;                ///< T+1日交收卖出金额
        double      dT2ClearBuyAmt;                 ///< T+2日交收买入金额
        double      dT2ClearSellAmt;                ///< T+2日交收卖出金额
        double      dHKBuyFrozenAmt;                ///< HK日间交易买入冻结金额
        double      dHKSellUnfrozenAmt;             ///< HK日间交易卖出冻结金额
    };

    /// 持仓推送结构体
    struct HoldField
    {
        char        sCustNo[11];                    ///< 客户号
        char        sBranchCode[4];                 ///< 营业部代码
        char        MARKET_CODE;                    ///< 市场代码
        char        SEC_CODE[20];                   ///< 证券代码
        int         SEC_VARIETY;                    ///< 证券类型
        double      dThisVol;                       ///< 昨日余额
        double      dAbnormalFrznVol;               ///< 异常冻结
        double      dManualUnfrznVol;               ///< 可用解冻
        double      dSecCost;                       ///< 证券总成本
        double      dSecSumProfit;                  ///< 累计实现盈亏
        double      dCurSumProfit;                  ///< 当日实现盈亏
        double      dSecAmt;                        ///< 总持仓
        double      dSecDealAmt;                    ///< 交易可用数量
        double      dSellFrozenVol;                 ///< 卖出冻结数量
        double      dStkFrozAmt;                    ///< 未成交的委托冻结数量
        double      dCurSellVol;                    ///< 卖出成交数量
        double      dCurSellAmt;                    ///< 卖出成交金额
        double      dCurBuyVol;                     ///< 买入成交数量
        double      dCurBuyAmt;                     ///< 买入成交金额
        double      dEtfLeftVol;                    ///< ETF申赎优先卖出剩余数量
        double      dCurBuyEtfLeftVol;              ///< 当日买入优先申赎剩余数量
        double      dEtfOrderFrozenVol;             ///< 申购冻结数量
        double      dEtfFrozenUndone;               ///< ETF申赎冻结临时字段
        double      dEtfFrozenVol;                  ///< ETF申赎成交冻结数量
        double      dEtfRtnVol;                     ///< ETF申赎成交解冻数量
        double      dLockTotalVol;                  ///< 总锁定数量
        double      dCurUnlockVol;                  ///< 当日解锁总数量
        double      dOrderUnlockVol;                ///< 当日解锁委托总数量
        double      dOrderLockVol;                  ///< 当日锁定委托总数量
        double      dCrdtSellBuyVol;                ///< 融券买入昨日清算后余额
        double      dCrdtSellBuyAmt;                ///< 昨日清算后总占用金额
        double      dCrdtSellBuyFrozenVol;          ///< 融券买入证券卖出冻结数量
        double      dCurCrdtSellBuyAmt;             ///< 当日融券买入成交总金额
        double      dCurCrdtSellBuyVol;             ///< 当日融券买入成交总数量
        double      dCrdtSellBuyAmtPaybk;           ///< 归还占用金额
        double      dCrdtSellBuyVolPaybk;           ///< 融券买入证券总卖出成交数量
        double      dCrdtBuyVol;                    ///< 当日融资买入成交数量
        double      dCrdtBuyAmt;                    ///< 当日融资买入成交金额
        double      dGuaranteeInVol;                ///< 当日担保品提交数量
        double      dCreditBuyOccurVol;             ///< 融资买入初始数量
        double      dCreditBuyOccurAmt;             ///< 融资买入初始金额
        double      dPbkLastCreditBuyVol;           ///< 归还历史发生融资买入数量（昨日偿还+今日偿还）
        double      dPbkLastCreditBuyAmt;           ///< 归还历史发生融资买入金额
        double      dCreditBuyEnVol;                ///< 当日融资买入委托数量
        double      dCreditBuyEnAmt;                ///< 当日融资买入委托金额
        double      dPbkCreditBuyVol;               ///< 归还当日发生融资买入数量
        double      dPbkCreditBuyAmt;               ///< 归还当日发生融资买入金额
        double      dGuaranteeOutVol;               ///< 当日担保品返还数量
        double      dCurBuyEnVol;                   ///< 当日普通买入委托数量
        double      dCurBuyEnAmt;                   ///< 当日普通买入委托金额
        double      dCurBuyDoneVol;                 ///< 当日普通买入成交数量
        double      dCurBuyDoneAmt;                 ///< 当日普通买入成交金额
        double      dBuyUnfrznVol;                  ///< 买入解冻数量
        double      dManualFrozenVol;               ///< 手工冻结数量
        double      dTrinBal;                       ///< 存入数量
        double      dTroutBal;                      ///< 取出数量
        double      dUncomeBuyVol;                  ///< 买入未过户数量
        double      dUncomeBuyAmt;                  ///< 买入未过户金额
        double      dUncomeSellVol;                 ///< 卖出未过户数量
        double      dUncomeSellAmt;                 ///< 卖出未过户金额
        double      dCurCostAmt;                    ///< 当前成本金额
        double      dBuyCostAmt;                    ///< 买入成本金额
        double      dEvaluateAsset;                 ///< 参考市值
        double      dNotCircVol;                    ///< 非流通数量
        double      dBankVol;                       ///< 银行数量
        double      dLastMonthVol;                  ///< 上月库存余额
        double      dForbidTrsVol;                  ///< DVP禁取数量
        double      dAuctionForbidSellVol;          ///< 竞价限售数量
        double      dXySellUsedAuctionVol;          ///< 协议卖出占用1%竞价可卖数量
        double      dProtocolUnfrznVol;             ///< 协议平台回转数量
        double      dBuyLeftVol;                    ///< 当日买入剩余
        double      dNewBalLeftVol;                 ///< 当日新库存剩余
        double      dBalUsedVol;                    ///< 已用上日库存
        char        sHolderAcc[16];                 ///< 股东账户
        char        sSecType[4];                    ///< 证券类别
        double      dTotalAsset;                    ///< 市值
        char        cSeniorFlag;                    ///< 高管标志 '0'-非高管 '1'-高管
        double      dSeniorAvailVol;                ///< 高管可用额度
        double      dCoLockUnComeVol;	            ///< 备兑锁定未决数量（暂不启用）
        double      dCoLockBuyVol;	                ///< 备兑锁定ETF当日买入数量
        double      dCoLockEtfVol; 	                ///< 备兑锁定ETF当日申购数量
        double      dCoLockBalVol;	                ///< 备兑锁定ETF上日库存数量
    };
}